TBasicFinalRenderer Class Reference
[Base Classes for plugins]

Inheritance diagram for TBasicFinalRenderer:

I3DExFinalRenderer TBasicDataExchanger IMCUnknown TBasicUnknown IExDataExchanger TMCObject IMCUnknown IMCUnknown List of all members.

Public Member Functions

virtual MCCOMErr MCCOMAPI QueryInterface (const MCIID &riid, void **ppvObj)
virtual uint32 MCCOMAPI AddRef ()
virtual MCCOMErr MCCOMAPI SetTreeTop (I3DShGroup *treeTop)
virtual MCCOMErr MCCOMAPI SetCamera (I3DShCamera *camera)
virtual MCCOMErr MCCOMAPI SetEnvironment (I3DShEnvironment *environment)
virtual MCCOMErr MCCOMAPI SetAmbientLight (const TMCColorRGB &ambiantColor)
virtual MCCOMErr MCCOMAPI SetFieldRenderingData (int32 fieldRenderingSettings, int16 firstFrame)
virtual void MCCOMAPI GetRenderStatistics (I3DRenderStatistics **renderstats)=0
virtual MCCOMErr MCCOMAPI PrepareDraw (const TMCPoint &size, const TBBox2D &uvBox, const TBBox2D &productionFrame, boolean(*callback)(int16 vv, void *priv), void *priv)=0
virtual MCCOMErr MCCOMAPI FinishDraw ()
virtual boolean MCCOMAPI IsSMPAware ()
virtual void MCCOMAPI RenderVolumetrics (boolean renderEffects)
virtual void MCCOMAPI RenderBackGround (boolean enable)
virtual void MCCOMAPI OptimizeTileSize (TMCPoint &inOutTileSize)
virtual void MCCOMAPI GetTileRenderer (I3DExTileRenderer **tileRenderer)
virtual void MCCOMAPI BeginRendering ()
virtual void MCCOMAPI EndRendering ()

Detailed Description

Basic Final Renderer class. Derive from this for a default implementation of I3DExFinalRenderer.
See also:
I3DExFinalRenderer


Member Function Documentation

virtual uint32 MCCOMAPI TBasicFinalRenderer::AddRef (   )  [inline, virtual]
 

Increments the reference count of the object

Reimplemented from TBasicDataExchanger.

virtual void MCCOMAPI TBasicFinalRenderer::BeginRendering (   )  [virtual]
 

Called at the beginning of the rendering of an animation

Implements I3DExFinalRenderer.

virtual void MCCOMAPI TBasicFinalRenderer::EndRendering (   )  [virtual]
 

Called at the end of the rendering of an animation

Implements I3DExFinalRenderer.

virtual MCCOMErr MCCOMAPI TBasicFinalRenderer::FinishDraw (   )  [virtual]
 

Called at the end of the rendering of each frame. You can use this function to delete the temporary rendering caches.

Note, that it is called only once even in SMP.

Implements I3DExFinalRenderer.

virtual void MCCOMAPI TBasicFinalRenderer::GetRenderStatistics (  I3DRenderStatistics **  renderstats  )  [pure virtual]
 

Returns a pointer to the rendering statistics object.

Parameters:
renderstats A pointer to next render statistics.

Implements I3DExFinalRenderer.

virtual void MCCOMAPI TBasicFinalRenderer::GetTileRenderer (  I3DExTileRenderer **  tileRenderer  )  [virtual]
 

Creates a new tile renderer. This function is called after PrepareDraw() and before FinishDraw().

Note that you should always return a new renderer if your renderer is SMP compliant since tile renderer is created for each rendering thread.

Parameters:
tileRenderer A pointer to the tile renderer created
See also:
I3DExTileRenderer

Implements I3DExFinalRenderer.

virtual boolean MCCOMAPI TBasicFinalRenderer::IsSMPAware (   )  [virtual]
 

Returns True if the renderer supports SMP (multiprocessors) which means that several tiles can be rendered at the same time in different preemptive threads.

You should returns false if the renderer does not support reentrant calls.

Implements I3DExFinalRenderer.

virtual void MCCOMAPI TBasicFinalRenderer::OptimizeTileSize (  TMCPoint &  inOutTileSize  )  [virtual]
 

Optimize the size of the tiles for rendering speed by increasing the tile if necessary

Parameters:
inOutTileSize Should contain the proposed tile size when the function is called. Contains the optimized tile size when the function returns.

Implements I3DExFinalRenderer.

virtual MCCOMErr MCCOMAPI TBasicFinalRenderer::PrepareDraw (  const TMCPoint &  size,
const TBBox2D &  uvBox,
const TBBox2D &  productionFrame,
boolean(*)(int16 vv, void *priv)  callback,
void *  priv
)  [pure virtual]
 

Called at the beginning of the rendering of each frame. You can use it to precalculate and store some information that will be needed for each tile of the frame. For example you can get the list of the instances and some information about them.

Note: this function is called only once per frame even in SMP (multi processor mode).

If you want to use the shadow features of the lights you want to initialize them here by calling I3DExShadowFeature::BeginRenderFrame on each of them.

Parameters:
size,: Size of the image to render in pixels
uvBox,: uvBox is the is the box in screen coordinates (camera uv) corresponding to the image being rendered. Note that it is not always within the Production Frame (For example, when you do a Test Render in the Assemble room).
productionFrame,: The box in screen coordinates (camera uv) corresponding to the Production Frame (the image being rendered in final rendering). You can use this parameter to make sure that the size of some effects does not change when you use the Test Render tool. (For example, when you do a Test Render of the backdrop which expects screen coordinates between 0 and 1 matching the Production Frame.)
callback Not Used. Should be NULL
priv Not Used. Should be NULL

Implements I3DExFinalRenderer.

virtual MCCOMErr MCCOMAPI TBasicFinalRenderer::QueryInterface (  const MCIID &  riid,
void **  ppvObj
)  [virtual]
 

Check if the object supports a given interface and returns a pointer to that interface if it does. Note that QueryInterface will increment the reference count of the object by one if the interface is found.

Parameters:
riid GUID of the interface
ppvObj A pointer to the pointer being returned.

Reimplemented from TBasicDataExchanger.

virtual void MCCOMAPI TBasicFinalRenderer::RenderBackGround (  boolean  enable  )  [virtual]
 

Turn on/off the rendering of the background of the image. (When the background rendering is turned off it should be black). This is used for alpha channel rendering/compositing. By "background" it is meant anything that is not hidden by an object, so backdrop, background, ...

Parameters:
enable True if the background should be rendered

Implements I3DExFinalRenderer.

virtual void MCCOMAPI TBasicFinalRenderer::RenderVolumetrics (  boolean  renderEffects  )  [virtual]
 

This call is called by the shell to enable/disable the rendering of volumetric effects (like light cones and light spheres)

Parameters:
renderEffects True if the volumetric effects should be rendered.

Implements I3DExFinalRenderer.

virtual MCCOMErr MCCOMAPI TBasicFinalRenderer::SetAmbientLight (  const TMCColorRGB &  ambiantColor  )  [virtual]
 

Sets the ambient light color

Parameters:
ambiantColor the color of the ambient light.

Implements I3DExFinalRenderer.

virtual MCCOMErr MCCOMAPI TBasicFinalRenderer::SetCamera (  I3DShCamera *  camera  )  [virtual]
 

Specifies the rendering camera.

Parameters:
camera The rendering camera.

Implements I3DExFinalRenderer.

virtual MCCOMErr MCCOMAPI TBasicFinalRenderer::SetEnvironment (  I3DShEnvironment *  environment  )  [virtual]
 

Sets up the background, backdrop, and atmospheric shader

Parameters:
environment The specified environment.

Implements I3DExFinalRenderer.

virtual MCCOMErr MCCOMAPI TBasicFinalRenderer::SetFieldRenderingData (  int32  fieldRenderingSettings,
int16  firstFrame
)  [virtual]
 

Deprecated:
Initializes FieldRendering for video output. This function is called once before the rendering starts. If FieldRendering is on, the rendering Module will render twice as many frames as it will output, then it will mix the even and odd lines from two frames to build one frame.
Parameters:
fieldRenderingSettings Not documented
firstFrame Not documented

Implements I3DExFinalRenderer.

virtual MCCOMErr MCCOMAPI TBasicFinalRenderer::SetTreeTop (  I3DShGroup *  treeTop  )  [virtual]
 

Specifies which tree needs to be rendered (generally the universe).

Parameters:
treeTop A pointer to the top of the tree hierarchy.

Implements I3DExFinalRenderer.


The documentation for this class was generated from the following file:
Generated on Wed Dec 7 14:27:42 2005 for Carrara SDK Doc by  doxygen 1.4.5